Type Inference এবং Def Keyword

Computer Programming - গ্রুভি (Groovy) ডেটা টাইপস এবং ভেরিয়েবলস (Data Types and Variables in Groovy) |
197
197

Groovy তে Type Inference এবং def Keyword

Groovy একটি ডাইনামিক টাইপিং ভাষা, যার মানে হলো আপনি ভেরিয়েবল বা ফাংশন ডিক্লেয়ার করার সময় টাইপ নির্ধারণ করতে হয় না। Groovy তে Type Inference এবং def কীওয়ার্ড ব্যবহারের মাধ্যমে টাইপ নির্ধারণের প্রক্রিয়া অনেক সহজ হয়ে যায়। Groovy অটোমেটিকভাবে ভেরিয়েবলের টাইপ অনুমান করে, যার ফলে কোড লেখার সময় আপনি টাইপের ব্যাপারে চিন্তা না করেও কোড লিখতে পারেন।


1. Type Inference (টাইপ ইনফারেন্স)

টাইপ ইনফারেন্স একটি বৈশিষ্ট্য, যেখানে Groovy স্বয়ংক্রিয়ভাবে ভেরিয়েবলের টাইপ নির্ধারণ করে। আপনি একটি ভেরিয়েবল ডিক্লেয়ার করার সময় তার টাইপ উল্লেখ না করলেও Groovy সেই ভেরিয়েবলের মান দেখে তার টাইপ অনুমান করে নেয়।

Groovy তে টাইপ ইনফারেন্সের মাধ্যমে আপনি সহজে এবং দ্রুত কোড লিখতে পারেন, কারণ এতে টাইপের বিষয়ে কোনো নির্দিষ্ট নিয়ম বা বিবৃতি প্রয়োজন হয় না।

উদাহরণ:

def number = 10     // Groovy টাইপ ইনফারেন্সের মাধ্যমে number এর টাইপ 'Integer' হবে
def name = "John"   // Groovy 'String' টাইপ অনুমান করবে
def price = 20.5    // Groovy 'Double' টাইপ অনুমান করবে

println number   // Output: 10
println name     // Output: John
println price    // Output: 20.5

এখানে def কীওয়ার্ড ব্যবহার করা হয়েছে, তবে টাইপ explicitly উল্লেখ করা হয়নি। Groovy প্রতিটি ভেরিয়েবল দেখে তার টাইপ সঠিকভাবে অনুমান করেছে।


2. def Keyword (ডিফ কীওয়ার্ড)

Groovy তে def কীওয়ার্ড একটি গুরুত্বপূর্ণ অংশ যা ব্যবহার করে আপনি ডাইনামিকভাবে টাইপেড ভেরিয়েবল এবং ফাংশন ডিফাইন করতে পারেন। এটি একটি সাধারণ কীওয়ার্ড যা Groovy তে টাইপ অজানা ভেরিয়েবল বা ফাংশন ডিক্লেয়ার করতে ব্যবহৃত হয়। যখন আপনি def ব্যবহার করেন, তখন Groovy স্বয়ংক্রিয়ভাবে ভেরিয়েবল বা ফাংশনের টাইপ অনুমান করে নেয়।

def এর ব্যবহার:

  1. ভেরিয়েবল ডিক্লেয়ারেশন (Variable Declaration):
    def দিয়ে আপনি টাইপ নির্ধারণ না করেও ভেরিয়েবল ডিক্লেয়ার করতে পারেন। Groovy তার মান দেখে ভেরিয়েবলের টাইপ অনুমান করে।

    উদাহরণ:

    def x = 5         // 'Integer' টাইপ অনুমান করবে
    def y = "Hello"   // 'String' টাইপ অনুমান করবে
  2. ফাংশন ডিক্লেয়ারেশন (Function Declaration):
    def দিয়ে আপনি একটি ফাংশনও ডিক্লেয়ার করতে পারেন। এতে ফাংশনের রিটার্ন টাইপ উল্লেখ করার প্রয়োজন পড়ে না, Groovy ফাংশন রিটার্নের ভিত্তিতে টাইপ অনুমান করে।

    উদাহরণ:

    def add(a, b) {  // Groovy এখানে 'Integer' টাইপ অনুমান করবে যদি a এবং b Integer হয়
        return a + b
    }
    
    def result = add(10, 5)  // result হবে Integer টাইপ
    println result   // Output: 15

    এখানে, add ফাংশনের টাইপ Groovy স্বয়ংক্রিয়ভাবে অনুমান করবে, কারণ আমরা টাইপ উল্লেখ করিনি। ফাংশনটি যখন কল হবে, তখন Groovy প্যারামিটারদের মানের উপর ভিত্তি করে তার টাইপ অনুমান করবে।

  3. লিস্ট এবং ম্যাপ ডিক্লেয়ারেশন (List and Map Declaration):
    Groovy তে আপনি def ব্যবহার করে লিস্ট এবং ম্যাপ ডিক্লেয়ার করতে পারেন এবং Groovy স্বয়ংক্রিয়ভাবে তাদের টাইপও অনুমান করবে।

    উদাহরণ:

    def numbers = [1, 2, 3, 4]      // Groovy List হিসেবে ইনফার করবে
    def person = [name: "John", age: 30]  // Groovy Map হিসেবে ইনফার করবে
    
    println numbers   // Output: [1, 2, 3, 4]
    println person    // Output: [name:John, age:30]

Groovy তে def ব্যবহার করার সুবিধা

  1. সহজ এবং দ্রুত কোডিং: def দিয়ে টাইপ ডিক্লেয়ার করার প্রয়োজন না থাকায়, কোড দ্রুত লেখা যায় এবং কোড কমপ্যাক্ট হয়ে যায়।
  2. ডাইনামিক টাইপিং: Groovy ডাইনামিক টাইপিং সমর্থন করে, যার মানে আপনি runtime এ ভেরিয়েবলের টাইপ পরিবর্তন করতে পারেন। এটি কোড লেখার সময় আরো নমনীয়তা আনে।
  3. কমপ্যাক্ট কোড: টাইপ ইনফারেন্স এবং def এর মাধ্যমে কোড লেখা সহজ এবং কমপ্যাক্ট হয়, যা রিডেবিলিটি এবং রক্ষণাবেক্ষণ সহজ করে।

সারসংক্ষেপ:

Groovy তে টাইপ ইনফারেন্স এবং def কীওয়ার্ড কোড লেখার সময় টাইপ নির্ধারণে সহজতা আনে। Groovy এর টাইপ ইনফারেন্সের মাধ্যমে টাইপ উল্লেখ না করেও আপনি ভেরিয়েবল ডিক্লেয়ার করতে পারেন, এবং def ব্যবহার করে ফাংশন বা ভেরিয়েবল ডিক্লেয়ার করলে Groovy স্বয়ংক্রিয়ভাবে টাইপ অনুমান করে। এটি Groovy কে একটি ডাইনামিক এবং নমনীয় ভাষা হিসেবে গড়ে তোলে, যা কোড লেখার সময় সহজ এবং দ্রুত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion